package com.chenfan.mcn.model.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.chenfan.mcn.constant.NumberCst;
import com.chenfan.mcn.enums.ExcutionApprovalStatusEnum;
import com.chenfan.mcn.model.StarMonthlySettlementDetail;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 红人月度结算单明细-列表VO
 *
 * @author wulg
 * @date 2022-01-14
 **/
@Data
public class StarMonthlySettlementDetailListVO extends StarMonthlySettlementDetail {

    private static final long serialVersionUID = 5513760863200625638L;

    /**
     * 执行单号
     */
    private String excuteCode;

    /**
     * 执行单状态
     */
    private Integer excuteOrderStatus;

    /**
     * 收入合同主键id
     */
    private Long incomeContractId;

    /**
     * 收入合同编号
     */
    private String incomeContractCode;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 红人id
     */
    private Long starId;

    /**
     * 红人昵称
     */
    private String starNickname;

    /**
     * 发布类型
     */
    private String publishType;

    /**
     * 发布平台ID
     */
    @JSONField(serialize = false)
    private Long starPlatformInfoId;

    /**
     * 发布平台
     */
    private String platformName;

    /**
     * 实际发布日期
     */
    @JSONField(format = "yyyy-MM-dd")
    private Date realPublishDate;

    /**
     * 我司签约主体
     */
    private String companyContractSubject;

    /**
     * 执行单总金额
     */
    private BigDecimal actualQuotedPrice;

    /**
     * 内容报价返点比例（%）
     */
    private BigDecimal aeCustomerRabateRate;

    /**
     * 内容报价返点金额
     */
    private BigDecimal aeCustomerRabateAmount;

    /**
     * 实际报价
     */
    private BigDecimal realAmount;

    /**
     * 红人分成比例
     */
    private BigDecimal dividedRate;

    /**
     * 微任务金额
     */
    private BigDecimal microTaskAmount;

    /**
     * 粉丝头条金额
     */
    private BigDecimal fansHeadlineAmount;

    /**
     * 平台手续费
     */
    private BigDecimal platformFee;

    /**
     * 其他费用
     */
    private BigDecimal otherFee;

    /**
     * AE确认分成金额
     */
    private BigDecimal aeDevidedAmount;

    /**
     * 财务确认分成金额
     */
    private BigDecimal financeDevidedAmount;

    /**
     * 财务确认文建税
     */
    private BigDecimal financeCulturalTax;

    /**
     * 发布形式
     */
    private String publishForm;

    /**
     * 发布形式-名称
     */
    private String publishFormName;

    /**
     * 发布日期
     */
    private Date promisePublishDate;

    /**
     * 执行人ID
     */
    private Long excutorId;

    /**
     * 执行人
     */
    private String excutorName;

    public String getSettlementFormName() {
        if(NumberCst.ZERO.equals(getSettlementForm())) {
            return "线上结算";
        } else if(NumberCst.ONE.equals(getSettlementForm())) {
            return "线下结算";
        } else {
            return "未知";
        }
    }

    public String getExcuteOrderStatusName() {
        return ExcutionApprovalStatusEnum.getStatusName(this.getExcuteOrderStatus());
    }
}
